package com.hyjx.framework.component.interfaceservice.dataservice;
import java.util.List;
import java.util.Map;

import com.hyjx.framework.component.interfaceservice.UserInfoModel;
import com.hyjx.framework.component.mutidatasource.datasources.DataSourcesModel;
import com.hyjx.framework.orm.IBaseService;

/**
 * 数据服务服务接口
 */
public interface DataServiceService extends IBaseService{
	/**
	 * 添加条件
	 * @param model
	 * @return
	 */
	boolean addCondition(SrvConditionModel model);

	/**
	 * 查询条件
	 * @param str
	 * @return
	 */
	String queryCondition(String str);

	/**
	 * 删除条件
	 * @param model
	 * @return
	 */
	int deleteCondition(SrvConditionModel model);

	/**
	 * 查询服务条件信息
	 * @param str
	 * @return
	 */
	SrvConditionModel queryConditionByid(String str);

	/**
	 * 更新条件信息
	 * @param model
	 * @return
	 */
	int updateCondition(SrvConditionModel model);

	/**
	 * 服务预览
	 * @param sql
	 * @return
	 */
	List serviceReview(String sql);

	/**
	 * 查询数据条件
	 * @param str
	 * @return
	 */
	List queryDataConditionService(String str);

	/**
	 * 执行查询
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List queryPager(String sql, String pageNo, String pageSize);

	/**
	 * 执行分页查询
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Map queryPagerP(String sql, String pageNo, String pageSize);

	/**
	 * 删除服务时判断该服务是否已经被使用
	 * @param srvid
	 * @return
	 */
	int condel(String srvid);

	/**
	 * 级联删除服务
	 * @param model
	 * @return
	 */
	int deleteClear(DataServiceModel model);

	/**
	 * SQL确认
	 * @param str
	 * @return
	 */
	String sqlConfirm(String str);

	/**
	 * 名称限制
	 * @param model
	 * @return
	 */
	int namelimit(DataServiceModel model);

	/**
	 * 查询用户信息
	 * @param userid
	 * @return
	 */
	UserInfoModel findUserInfo(String userid);

	/**
	 * 执行更新
	 * @param model
	 * @return
	 */
	int editMy(DataServiceModel model);

	/**
	 * 查询符合条件的的数据源（包括所有的）
	 * @param model
	 * @return
	 */
	List serviceAllDs(DataSourcesModel model);
}